/*
 * \brief  Nitpicker session interface
 * \author Norman Feske
 * \date   2006-08-09
 */

/*
 * Copyright (C) 2006-2009 Norman Feske
 * Genode Labs, Feske & Helmuth Systementwicklung GbR
 *
 * This file is part of the Genode OS framework, which is distributed
 * under the terms of the GNU General Public License version 2.
 */

#ifndef _SESSION_H_
#define _SESSION_H_

#include "string.h"

class Texture;
namespace Input { class Event; }

class Session
{
	public:

		enum { LABEL_LEN = 64 };  /* max. length of session label */

	private:

		char _label[LABEL_LEN];

		Texture *_texture;

	public:

		Session(const char *label, Texture *texture): _texture(texture) {
			Nitpicker::strncpy(_label, label, sizeof(_label)); }

		virtual ~Session() { }

		virtual void submit_input_event(Input::Event *ev) { }

		char *label() { return _label; }

		Texture *texture() { return _texture; }
};

#endif
